#ifndef __USERLIST_H
#define __USERLIST_H

/* Implementación de una simple lista enlazada para 
 * guardar el registro de usuarios.*/

typedef struct user_node /* Nodo */
{
        unsigned int uid; /* identificador usuario */                   
        char login[15];	  /* Datos */
	char nombre[50];
	char email[30];
	char clave[25];
	struct user_node *next;
	struct user_node *back;
} t_usernode;



typedef struct user_list { /* Lista */
	unsigned int size;
	t_usernode *head;
	t_usernode *tail;
} t_userlist; 

typedef enum campo_lista {UID,LOGIN,NOMBRE,EMAIL,CLAVE}  t_campolista;

/* prototipos de funciones de la lista */
void userlist_ini (t_userlist *userlist);
void userlist_add (t_userlist *userlist,unsigned int uid, char *login, char *nombre, char *email, char *clave);
t_usernode userlist_buscar (t_usernode *usernode, t_campolista campolista, const char patron);
void userlist_remove(t_userlist *userlist,t_usernode *usernode);

#endif
